{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Build Server",
            "command": "dotnet",
            "args": [ "build" ],
            "type": "shell",
            "options": { "cwd": "${workspaceFolder}/src/Server" },
            "group": "build",
            "problemMatcher": [ "$msCompile" ]
        },
        {
            "label": "Watch Client and Server",
            "command": "fake",
            "args": [ "build", "-t", "Run" ],
            "type": "shell",
            "options": {
                "cwd": "${workspaceFolder}",
                "env": {
                    "vsCodeSession": "true"
                }
            },
            "group": "build",
            "isBackground": true,
            "problemMatcher": {
                "fileLocation": "absolute",
                "background": {
                    "beginsPattern": { "regexp": "run Run" },
                    "endsPattern": { "regexp": "i ｢wdm｣: Compiled|The terminal process terminated" },
                    "activeOnStart": true
                },
                "pattern": {
                    "regexp": "^(.*)\\((\\d+),(\\d+)\\): \\((\\d+),(\\d+)\\) (warning|error) FABLE: (.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "endLine": 4,
                    "endColumn": 5,
                    "severity": 6,
                    "message": 7
                }
            }
        },
        {
            "label": "Watch Client",
            "command": "fake",
            "args": [ "build", "-t", "RunClient" ],
            "type": "shell",
            "options": {
                "cwd": "${workspaceFolder}",
                "env": {
                    "vsCodeSession": "true",
                    "safeClientOnly": "true"
                }
            },
            "group": "build",
            "isBackground": true,
            "problemMatcher": {
                "fileLocation": "absolute",
                "background": {
                    "beginsPattern": { "regexp": "run Run" },
                    "endsPattern": { "regexp": "i ｢wdm｣: Compiled|The terminal process terminated" },
                    "activeOnStart": true
                },
                "pattern": {
                    "regexp": "^(.*)\\((\\d+),(\\d+)\\): \\((\\d+),(\\d+)\\) (warning|error) FABLE: (.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "endLine": 4,
                    "endColumn": 5,
                    "severity": 6,
                    "message": 7
                }
            }
        }
    ]
}